package com.correo.vista.client.windows.event;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyVetoException;

import javax.swing.event.InternalFrameEvent;
import javax.swing.event.InternalFrameListener;

import com.correo.vista.client.windows.Correo;
import com.correo.vista.client.windows.componentes.menu.ItemMenuDinamicos;
import com.correo.vista.client.windows.ventanasInternas.InternalFrameConsultaPrioridad;

public class ActionListenerCriterioPrioridad implements ActionListener {

	private Correo correo;

	public ActionListenerCriterioPrioridad(Correo correo) {
		this.correo = correo;
	}

	public void actionPerformed(ActionEvent e) {
		System.out.println("ActionListenerConsultaEnviados");

		if (!InternalFrameConsultaPrioridad.getInstance().isVisible()) {
			correo.getPanelPrincipal().add(
					InternalFrameConsultaPrioridad.getInstance());
			InternalFrameConsultaPrioridad.getInstance().setVisible(true);
			ItemMenuDinamicos item = new ItemMenuDinamicos(
					InternalFrameConsultaPrioridad.getInstance(), correo
							.getPanelPrincipal());
			InternalFrameConsultaPrioridad.getInstance().setItemMenu(item);
			correo.addItemMenu(item);

		}
		try {
			InternalFrameConsultaPrioridad.getInstance().setSelected(true);
			correo.setTextStatus(InternalFrameConsultaPrioridad.getInstance().getTitle());
		} catch (PropertyVetoException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}

		setListenerInternalFrameClose();
		setListenerItemMenu();

	}

	private void setListenerItemMenu() {
		InternalFrameConsultaPrioridad.getInstance().getItemMenu().addActionListener(new ActionListener(){

			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				try {
					InternalFrameConsultaPrioridad.getInstance().setSelected(true);
				} catch (PropertyVetoException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
			}
			
		});
		
	}
	private void setListenerInternalFrameClose() {
		InternalFrameConsultaPrioridad.getInstance().addInternalFrameListener(new InternalFrameListener(){

			public void internalFrameActivated(InternalFrameEvent e) {
				correo.setTextStatus(InternalFrameConsultaPrioridad.getInstance().getTitle());
				
			}

			public void internalFrameClosed(InternalFrameEvent e) {
				// TODO Auto-generated method stub
				
			}

			public void internalFrameClosing(InternalFrameEvent e) {
				correo.removeItemMenu(InternalFrameConsultaPrioridad.getInstance().getItemMenu());				
			}

			public void internalFrameDeactivated(InternalFrameEvent e) {
				// TODO Auto-generated method stub
				
			}

			public void internalFrameDeiconified(InternalFrameEvent e) {
				// TODO Auto-generated method stub
				
			}

			public void internalFrameIconified(InternalFrameEvent e) {
				// TODO Auto-generated method stub
				
			}

			public void internalFrameOpened(InternalFrameEvent e) {
				// TODO Auto-generated method stub
				
			}
			
		});
		
	}

}
